const app = getApp(); // 获取全局应用实例

Page({
  /**
   * 页面的初始数据
   */
  data: {
    goods_attrSelect: [], // 商品属性选择列表
    curcIndex: 0, // 当前选择的颜色索引
    curvIndex: 0, // 当前选择的版本索引
    select_num: 1, // 选择的数量，默认为1
    //color:"", // 颜色
    //cover_img:"", // 封面图片
    //memory:"", // 内存
    //price:"" // 价格
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    const id = options.id; // 从页面参数中获取商品ID
    console.log(id);
    // 根据商品ID从全局数据中筛选出对应商品的详情
    const goods_attrSelect = app.globalData.goodsDetail.filter(item => {
      return item.id == id;
    });
    // 将商品名称存入本地缓存
    wx.setStorageSync("goods_name", goods_attrSelect[0].header);
    // 初始化页面数据
    this.setData({
      goods_attrSelect,
      color: goods_attrSelect[0].default[1], // 设置默认颜色
      memory: goods_attrSelect[0].default[0], // 设置默认内存
      price: goods_attrSelect[0].default[3] // 设置默认价格
    });
    //console.log("goods_attrSelect:---" + JSON.stringify(this.data.color));
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 将当前选择的版本、数量、颜色、内存和价格存入本地缓存
    wx.setStorageSync('select_num', this.data.select_num);
    wx.setStorageSync('color', this.data.color);
    wx.setStorageSync('memory', this.data.memory);
    wx.setStorageSync('price', this.data.price);
  },

  /**
   * 选择版本事件处理函数
   */
  selectVersion(e) {
    const version = e.detail.value; // 获取选择的版本值
    // console.log(version);
    const memory = version.split(",")[0]; // 解析版本中的内存信息
    const price = version.split(",")[1]; // 解析版本中的价格信息
    // console.log(price);
    // 将选择的内存和价格存入本地缓存
    wx.setStorageSync('memory', memory);
    wx.setStorageSync('price', price);
    // 更新页面数据
    this.setData({
      memory,
      price
    });
  },

  /**
   * 选择颜色事件处理函数
   */
  selectColor(e) {
    let color = e.detail.value; // 获取选择的颜色值
    let cover_img = this.data.goods_attrSelect[0].goods_slides[0].slide_url; // 获取选择的颜色对应的封面图片
    // console.log(cover_img);
    // 将选择的颜色和封面图片存入本地缓存
    wx.setStorageSync('color', color);
    wx.setStorageSync('cover', cover_img);
    // 更新页面数据
    this.setData({
      color,
      cover_img
    });
  },

  /**
   * 颜色选择事件处理函数
   */
  colorHasSelected(e) {
    const curcIndex = e.currentTarget.dataset.index ? e.currentTarget.dataset.index : 0; // 获取当前选择的颜色索引
    console.log(curcIndex);
    // 更新当前颜色索引
    this.setData({
      curcIndex
    });
  },

  /**
   * 版本选择事件处理函数
   */
  versionHasSelected(e) {
    const curvIndex = e.currentTarget.dataset.index ? e.currentTarget.dataset.index : 0; // 获取当前选择的版本索引
    console.log(curvIndex);
    // 更新当前版本索引
    this.setData({
      curvIndex
    });
  },

  /**
   * 减少数量事件处理函数
   */
  minusCount(e) {
    let select_num = this.data.select_num; // 获取当前选择的数量
    select_num--; // 减少数量
    if (select_num < 1) {
      return; // 如果数量小于1，则不允许继续减少
    }
    // 更新选择的数量
    this.setData({
      select_num
    });
    // 将选择的数量存入本地缓存
    wx.setStorageSync('select_num', select_num);
  },

  /**
   * 增加数量事件处理函数
   */
  addCount(e) {
    let select_num = this.data.select_num; // 获取当前选择的数量
    select_num++; // 增加数量
    if (select_num > 5) {
      return; // 如果数量大于5，则不允许继续增加
    }
    // 更新选择的数量
    this.setData({
      select_num
    });
    // 将选择的数量存入本地缓存
    wx.setStorageSync('select_num', select_num);
  },

  /**
   * 提交事件处理函数
   */
  submit(e) {
    const pre_item = wx.getStorageSync('attr_item'); // 获取已选属性列表
    console.log(pre_item);
    // 构造当前商品的属性信息对象
    const temp = {
      'goods_name': wx.getStorageSync('goods_name'), // 商品名称
      'memory': wx.getStorageSync('memory'), // 内存
      'price': wx.getStorageSync('price'), // 价格
      'color': wx.getStorageSync('color'), // 颜色
      // 'version': wx.getStorageSync('version'), // 版本
      'select_num': wx.getStorageSync('select_num'), // 数量
      'cover': wx.getStorageSync('cover'), // 封面图片
      'selected': false, // 是否选中状态
      'isTouchMove': false // 是否触摸移动状态
    }
    console.log("temp---" + JSON.stringify(temp));
    // 将当前商品属性信息加入已选属性列表
    wx.setStorageSync('attr_item', [temp, ...pre_item]);
    // 显示加入购物车成功提示
    wx.showToast({
      title: '已加入购物车',
      icon: 'success',
      duration: 3000,
      success() {
        // 成功后返回到商品详情页
        setTimeout(() => {
          wx.navigateBack({
            url: "../goods/show"
          });
        }, 1000)
      }
    });
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})
